#ifndef __SYNCCTL_H__
#define __SYNCCTL_H__

#define USAGE "\n\
syncctl <объект> <действие> [<опции>] \n\
\n\
Объекты:\n\
\n\
  system   - система синхронизации в целом\n\
  keyring  - ключи системы\n\
  node     - удаленный узел (узел, который будет получать данные)\n\
  table    - синхронизируемая таблица\n\
  data     - данные синхронизации\n\
  prepared - номер последнего успешно сформированного пакета\n\
  updated  - номер последнего успешно обработанного пакета\n\
\n\
Действия над объектом system:\n\
\n\
  install     - установить систему в базе данных\n\
  uninstall   - убрать из базы все, что относится к системе\n\
  update      - обновить систему в базе данных\n\
  status      - вывести данные о системе (версия, узлы, таблицы)\n\
  reset_cache - сбросить все кэшированные SQL-скрипты\n\
\n\
Действия над объектом keyring:\n\
\n\
  make            - создать первичную пару ключей для данного узла\n\
  make for <узел> - создать первичную пару ключей для узла <узел>\n\
  add <узел>.key  - добавить открытый ключ узла в кольцо доверия\n\
  remove <узел>   - удалить открытый ключ узла из кольца доверия\n\
  list            - вывести список открытых ключей\n\
  export          - выгрузить свой открытый ключ в файл <узел>.key\n\
\n\
Действия над объектом node:\n\
\n\
  add <название узла>      - добавить узел в систему\n\
  remove <название узла>   - убрать узел из системы\n\
  reset <название узла>    - начать заново формирование исходящих пакетов\n\
  list                     - вывести список узлов, зарегистрированных\n\
                             в системе\n\
\n\
Действия над объектом table:\n\
\n\
  add <имя таблицы>        - сделать записи таблицы тиражируемые на узлы\n\
  update <имя таблицы>     - обновить метаданные таблицы для тиражирования\n\
  remove <имя таблицы>     - прикратить тиражировать записи таблицы\n\
  dwatch_on <имя таблицы>  - включить слежение за удалением записей таблицы\n\
  dwatch_off <имя таблицы> - выключить слежение за удалением записей таблицы\n\
\n\
Действия над объектом data:\n\
\n\
  prepare [for <group>]    - подготовить данные для отправки на узел/узлы\n\
  update from <group>      - обновить БД данными, пришедшими с узла/узлов\n\
\n\
  где <group> - название группы узлов или конкретного узла\n\
\n\
Действия над объектом prepared:\n\
\n\
 get for <node>       - вернуть номер последнего успешно сформированного пакета\n\
 set <num> for <node> - установить номер последнего успешно сформированного\n\
                        пакета\n\
\n\
Действия над объектом updated:\n\
\n\
 get for <node>       - вернуть номер последнего успешно обработанного пакета\n\
 set <num> for <node> - установить номер последнего успешно обработанного\n\
                        пакета\n\
\n\
Примечание:\n\
  Скрипт использует файл настройки sync.conf\n"

#include <sql.h>
#include <sqlext.h>

#endif /* __SYNCCTL_H__ */


